/**
 * 
 */
package data.model.effort;


/**

 * 
 */
public class DefinedEffort extends Effort {
	private int effortRequirementsEngineering;
	private int effortArchitectureAndDesign;
	private int effortImplementationAndIntegration;
	private int effortBuildAndTest;
	private int effortProjectManagement;

	/**
	 * 
	 */
	public DefinedEffort() {
		this(0, 0, 0, 0, 0);
	}

	/**
	 * @param effortRequirementsEngineering
	 * @param effortArchitectureAndDesign
	 * @param effortImplementationAndIntegration
	 * @param effortBuildAndTest
	 * @param effortProjectManagement
	 */
	public DefinedEffort(int effortRequirementsEngineering,
			int effortArchitectureAndDesign,
			int effortImplementationAndIntegration, int effortBuildAndTest,
			int effortProjectManagement) {
		super("");
		this.effortRequirementsEngineering = effortRequirementsEngineering;
		this.effortArchitectureAndDesign = effortArchitectureAndDesign;
		this.effortImplementationAndIntegration = effortImplementationAndIntegration;
		this.effortBuildAndTest = effortBuildAndTest;
		this.effortProjectManagement = effortProjectManagement;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see data.EffortProvider#getEffortRequirementsEngineering()
	 */
	@Override
	public int getEffortRequirementsEngineering() {
		return effortRequirementsEngineering;
	}

	/**
	 * @param effortRequirementsEngineering
	 *            the effortRequirementsEngineering to set
	 */
	public void setEffortRequirementsEngineering(
			int effortRequirementsEngineering) {
		firePropertyChange(
				"effortRequirementsEngineering",
				this.effortRequirementsEngineering,
				this.effortRequirementsEngineering = effortRequirementsEngineering);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see data.EffortProvider#getEffortArchitectureAndDesign()
	 */
	@Override
	public int getEffortArchitectureAndDesign() {
		return effortArchitectureAndDesign;
	}

	/**
	 * @param effortArchitectureAndDesign
	 *            the effortArchitectureAndDesign to set
	 */
	public void setEffortArchitectureAndDesign(int effortArchitectureAndDesign) {
		firePropertyChange("effortArchitectureAndDesign",
				this.effortArchitectureAndDesign,
				this.effortArchitectureAndDesign = effortArchitectureAndDesign);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see data.EffortProvider#getEffortImplementationAndIntegration()
	 */
	@Override
	public int getEffortImplementationAndIntegration() {
		return effortImplementationAndIntegration;
	}

	/**
	 * @param effortImplementationAndIntegration
	 *            the effortImplementationAndIntegration to set
	 */
	public void setEffortImplementationAndIntegration(
			int effortImplementationAndIntegration) {
		firePropertyChange(
				"effortImplementationAndIntegration",
				this.effortImplementationAndIntegration,
				this.effortImplementationAndIntegration = effortImplementationAndIntegration);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see data.EffortProvider#getEffortBuildAndTest()
	 */
	@Override
	public int getEffortBuildAndTest() {
		return effortBuildAndTest;
	}

	/**
	 * @param effortBuildAndTest
	 *            the effortBuildAndTest to set
	 */
	public void setEffortBuildAndTest(int effortBuildAndTest) {
		firePropertyChange("effortBuildAndTest", this.effortBuildAndTest,
				this.effortBuildAndTest = effortBuildAndTest);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see data.EffortProvider#getEffortProjectManagement()
	 */
	@Override
	public int getEffortProjectManagement() {
		return effortProjectManagement;
	}

	/**
	 * @param effortProjectManagement
	 *            the effortProjectManagement to set
	 */
	public void setEffortProjectManagement(int effortProjectManagement) {
		firePropertyChange("effortProjectManagement",
				this.effortProjectManagement,
				this.effortProjectManagement = effortProjectManagement);
	}

}
